package com.qfedu.hotelssm.dao;

import com.qfedu.hotelssm.dto.EmployeeDepartmentDto;
import com.qfedu.hotelssm.dto.EmployeeDto;
import com.qfedu.hotelssm.dto.EmployeeSexDto;
import com.qfedu.hotelssm.entity.Employee;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author truman
 * @date 2022/8/28
 * @note 员工 持久层
 */
public interface EmployeeDao {
    /**
     * 新增
     */
    int save(Employee employee);
    /**
     * 删除
     */
    int delete(@Param("id") int id);
    /**
     * 修改
     */
    int update(Employee employee);
    /**
     * 分页查询
     */
    List<EmployeeDto> pageSelect(@Param("name") String name, @Param("pageStart") int pageStart, @Param("pageSize") int pageSize);
    /**
     * 总行数
     */
    long countEmp(String name);
    /**
     * 查询所有
     */
    List<Employee> all();
    /**
     * 批量删除
     */
    int deletes(int[] ids);
    /**
     * 批量导入添加
     */
    int upload(List<Employee> list);
    /**
     * 查询性别人数
     */
    List<EmployeeSexDto> countSex();
    /**
     * 查询部门人数
     */
    List<EmployeeDepartmentDto> countDepartment();
}
